package com.ccrfid.rmc6.entity.personnel;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.vividsolutions.jts.geom.Point;
import org.hibernate.annotations.Type;

import javax.persistence.*;
import java.sql.Date;
import java.sql.Timestamp;

@Entity
@Table(name = "v_personnel_prisoner")
public class PersonnelPrisonerView {
    private Long id;
    private String personnelName;
    private String nameAcronym;
    private Long cardNumber;
    private String cardSn;
    private String personnelSn;
    private String idNumber;
    private Integer personnelType;
    private String personnelTypeName;
    private Long orgId;
    private String orgName;
    private Integer enabled;
    private Integer gender;
    private Date birthday;
    private String phoneNumber;
    private String shortNumber;
    private Integer onlineStatus;
    private Integer cutoffStatus;
    private Integer lowpowerStatus;
    private Integer heartRate;
    private Integer locatorAddress;
    private Timestamp lastLocateTime;
    private Integer floorNumber;
    private Point pos;

    private String anotherName;
    private String dormCode;
    private String ethnicGroupValue;
    private String politicalStatusValue;
    private String nationalityValue;
    private String houseAddrValue;
    private String houseDetailAddr;
    private String identityValue;
    private String workAddr;
    private String position;
    private String specialtyValue;
    private String stageValue;
    private String resultValue;
    private String caseTypeValue;
    private String brief;
    private String comeReasonValue;
    private String jailTimeValue;
    private Timestamp comeTime;
    private Timestamp outTime;
    private String unifoNo;
    private Date arrestDate;
    private Date imprisonLimit;
    private String handlingUnit;
    private String manageTypeValue;
    private Integer isMajorCriminalOffender;
    private Integer isFocusedPrisoner;
    private Integer isDeathPrisoner;
    private Integer isInfectedPrisoner;
    private Timestamp updateTime;
    private String personnelCategory;

    private String stakeType;
    private String historyCrime;
    private String involvedCrime;
    private String dealWith;

    private String hexNumber;


    @Id
    @Column(name = "id")
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "personnel_name")
    public String getPersonnelName() {
        return personnelName;
    }

    public void setPersonnelName(String personnelName) {
        this.personnelName = personnelName;
    }

    @Basic
    @Column(name = "name_acronym")
    public String getNameAcronym() {
        return nameAcronym;
    }

    public void setNameAcronym(String nameAcronym) {
        this.nameAcronym = nameAcronym;
    }

    @Basic
    @Column(name = "card_number")
    public Long getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(Long cardNumber) {
        this.cardNumber = cardNumber;
    }

    @Basic
    @Column(name = "card_sn")
    public String getCardSn() {
        return cardSn;
    }

    public void setCardSn(String cardSn) {
        this.cardSn = cardSn;
    }

    @Basic
    @Column(name = "personnel_sn")
    public String getPersonnelSn() {
        return personnelSn;
    }

    public void setPersonnelSn(String personnelSn) {
        this.personnelSn = personnelSn;
    }

    @Basic
    @Column(name = "id_number")
    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    @Basic
    @Column(name = "personnel_type")
    public Integer getPersonnelType() {
        return personnelType;
    }

    public void setPersonnelType(Integer personnelType) {
        this.personnelType = personnelType;
    }

    @Basic
    @Column(name = "personnel_type_name")
    public String getPersonnelTypeName() {
        return personnelTypeName;
    }

    public void setPersonnelTypeName(String personnelTypeName) {
        this.personnelTypeName = personnelTypeName;
    }

    @Basic
    @Column(name = "org_id")
    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    @Basic
    @Column(name = "org_name")
    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    @Basic
    @Column(name = "is_enabled")
    public Integer getEnabled() {
        return enabled;
    }

    public void setEnabled(Integer enabled) {
        this.enabled = enabled;
    }

    @Basic
    @Column(name = "gender")
    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    @Basic
    @Column(name = "birthday")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    @Basic
    @Column(name = "phone_number")
    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    @Basic
    @Column(name = "short_number")
    public String getShortNumber() {
        return shortNumber;
    }

    public void setShortNumber(String shortNumber) {
        this.shortNumber = shortNumber;
    }

    @Basic
    @Column(name = "online_status")
    public Integer getOnlineStatus() {
        return onlineStatus;
    }

    public void setOnlineStatus(Integer onlineStatus) {
        this.onlineStatus = onlineStatus;
    }

    @Basic
    @Column(name = "cutoff_status")
    public Integer getCutoffStatus() {
        return cutoffStatus;
    }

    public void setCutoffStatus(Integer cutoffStatus) {
        this.cutoffStatus = cutoffStatus;
    }

    @Basic
    @Column(name = "lowpower_status")
    public Integer getLowpowerStatus() {
        return lowpowerStatus;
    }

    public void setLowpowerStatus(Integer lowpowerStatus) {
        this.lowpowerStatus = lowpowerStatus;
    }

    @Basic
    @Column(name = "heart_rate")
    public Integer getHeartRate() {
        return heartRate;
    }

    public void setHeartRate(Integer heartRate) {
        this.heartRate = heartRate;
    }

    @Basic
    @Column(name = "locator_address")
    public Integer getLocatorAddress() {
        return locatorAddress;
    }

    public void setLocatorAddress(Integer locatorAddress) {
        this.locatorAddress = locatorAddress;
    }

    @Basic
    @Column(name = "last_locate_time")
    public Timestamp getLastLocateTime() {
        return lastLocateTime;
    }

    public void setLastLocateTime(Timestamp lastLocateTime) {
        this.lastLocateTime = lastLocateTime;
    }

    @Basic
    @Column(name = "floor_number", nullable = true)
    public Integer getFloorNumber() {
        return floorNumber;
    }

    public void setFloorNumber(Integer floorNumber) {
        this.floorNumber = floorNumber;
    }

    @Basic
    @Column(name = "pos")
    @Type(type = "jts_geometry")
    public Point getPos() {
        return pos;
    }

    public void setPos(Point pos) {
        this.pos = pos;
    }

    @Basic
    @Column(name = "another_name")
    public String getAnotherName() {
        return anotherName;
    }

    public void setAnotherName(String anotherName) {
        this.anotherName = anotherName;
    }

    @Basic
    @Column(name = "ethnic_group_value")
    public String getEthnicGroupValue() {
        return ethnicGroupValue;
    }

    public void setEthnicGroupValue(String ethnicGroupValue) {
        this.ethnicGroupValue = ethnicGroupValue;
    }

    @Basic
    @Column(name = "political_status_value")
    public String getPoliticalStatusValue() {
        return politicalStatusValue;
    }

    public void setPoliticalStatusValue(String politicalStatusValue) {
        this.politicalStatusValue = politicalStatusValue;
    }

    @Basic
    @Column(name = "nationality_value")
    public String getNationalityValue() {
        return nationalityValue;
    }

    public void setNationalityValue(String nationalityValue) {
        this.nationalityValue = nationalityValue;
    }

    @Basic
    @Column(name = "house_addr_value")
    public String getHouseAddrValue() {
        return houseAddrValue;
    }

    public void setHouseAddrValue(String houseAddrValue) {
        this.houseAddrValue = houseAddrValue;
    }

    @Basic
    @Column(name = "house_detail_addr")
    public String getHouseDetailAddr() {
        return houseDetailAddr;
    }

    public void setHouseDetailAddr(String houseDetailAddr) {
        this.houseDetailAddr = houseDetailAddr;
    }

    @Basic
    @Column(name = "identity_value")
    public String getIdentityValue() {
        return identityValue;
    }

    public void setIdentityValue(String identityValue) {
        this.identityValue = identityValue;
    }

    @Basic
    @Column(name = "position")
    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    @Basic
    @Column(name = "specialty_value")
    public String getSpecialtyValue() {
        return specialtyValue;
    }

    public void setSpecialtyValue(String specialtyValue) {
        this.specialtyValue = specialtyValue;
    }

    @Basic
    @Column(name = "dorm_code")
    public String getDormCode() {
        return dormCode;
    }

    public void setDormCode(String dormCode) {
        this.dormCode = dormCode;
    }

    @Basic
    @Column(name = "unifo_no")
    public String getUnifoNo() {
        return unifoNo;
    }

    public void setUnifoNo(String unifoNo) {
        this.unifoNo = unifoNo;
    }

    @Basic
    @Column(name = "stage_value")
    public String getStageValue() {
        return stageValue;
    }

    public void setStageValue(String stageValue) {
        this.stageValue = stageValue;
    }

    @Basic
    @Column(name = "imprison_limit")
    public Date getImprisonLimit() {
        return imprisonLimit;
    }

    public void setImprisonLimit(Date imprisonLimit) {
        this.imprisonLimit = imprisonLimit;
    }

    @Basic
    @Column(name = "result_value")
    public String getResultValue() {
        return resultValue;
    }

    public void setResultValue(String resultValue) {
        this.resultValue = resultValue;
    }

    @Basic
    @Column(name = "case_type_value")
    public String getCaseTypeValue() {
        return caseTypeValue;
    }

    public void setCaseTypeValue(String caseTypeValue) {
        this.caseTypeValue = caseTypeValue;
    }

    @Basic
    @Column(name = "brief")
    public String getBrief() {
        return brief;
    }

    public void setBrief(String brief) {
        this.brief = brief;
    }

    @Basic
    @Column(name = "come_reason_value")
    public String getComeReasonValue() {
        return comeReasonValue;
    }

    public void setComeReasonValue(String comeReasonValue) {
        this.comeReasonValue = comeReasonValue;
    }

    @Basic
    @Column(name = "come_time")
    public Timestamp getComeTime() {
        return comeTime;
    }

    public void setComeTime(Timestamp comeTime) {
        this.comeTime = comeTime;
    }

    @Basic
    @Column(name = "out_time")
    public Timestamp getOutTime() {
        return outTime;
    }

    public void setOutTime(Timestamp outTime) {
        this.outTime = outTime;
    }

    @Basic
    @Column(name = "jail_time_value")
    public String getJailTimeValue() {
        return jailTimeValue;
    }

    public void setJailTimeValue(String jailTimeValue) {
        this.jailTimeValue = jailTimeValue;
    }

    @Basic
    @Column(name = "arrest_date")
    public Date getArrestDate() {
        return arrestDate;
    }

    public void setArrestDate(Date arrestDate) {
        this.arrestDate = arrestDate;
    }

    @Basic
    @Column(name = "manage_type_value")
    public String getManageTypeValue() {
        return manageTypeValue;
    }

    public void setManageTypeValue(String manageTypeValue) {
        this.manageTypeValue = manageTypeValue;
    }

    @Basic
    @Column(name = "handling_unit")
    public String getHandlingUnit() {
        return handlingUnit;
    }

    public void setHandlingUnit(String handlingUnit) {
        this.handlingUnit = handlingUnit;
    }

    @Basic
    @Column(name = "work_addr")
    public String getWorkAddr() {
        return workAddr;
    }

    public void setWorkAddr(String workAddr) {
        this.workAddr = workAddr;
    }

    @Basic
    @Column(name = "is_major_criminal_offender")
    public Integer getIsMajorCriminalOffender() {
        return isMajorCriminalOffender;
    }

    public void setIsMajorCriminalOffender(Integer isMajorCriminalOffender) {
        this.isMajorCriminalOffender = isMajorCriminalOffender;
    }

    @Basic
    @Column(name = "is_focused_prisoner")
    public Integer getIsFocusedPrisoner() {
        return isFocusedPrisoner;
    }

    public void setIsFocusedPrisoner(Integer isFocusedPrisoner) {
        this.isFocusedPrisoner = isFocusedPrisoner;
    }

    @Basic
    @Column(name = "is_death_prisoner")
    public Integer getIsDeathPrisoner() {
        return isDeathPrisoner;
    }

    public void setIsDeathPrisoner(Integer isDeathPrisoner) {
        this.isDeathPrisoner = isDeathPrisoner;
    }

    @Basic
    @Column(name = "is_infected_prisoner")
    public Integer getIsInfectedPrisoner() {
        return isInfectedPrisoner;
    }

    public void setIsInfectedPrisoner(Integer isInfectedPrisoner) {
        this.isInfectedPrisoner = isInfectedPrisoner;
    }

    @Basic
    @Column(name = "update_time")
    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "personnel_category")
    public String getPersonnelCategory() {
        return personnelCategory;
    }

    public void setPersonnelCategory(String personnelCategory) {
        this.personnelCategory = personnelCategory;
    }

    @Basic
    @Column(name = "stake_type", nullable = true, length = 45)
    public String getStakeType() {
        return stakeType;
    }

    public void setStakeType(String stakeType) {
        this.stakeType = stakeType;
    }

    @Basic
    @Column(name = "history_crime", nullable = true, length = 45)
    public String getHistoryCrime() {
        return historyCrime;
    }

    public void setHistoryCrime(String historyCrime) {
        this.historyCrime = historyCrime;
    }

    @Basic
    @Column(name = "deal_with", nullable = true, length = 45)
    public String getDealWith() {
        return dealWith;
    }

    public void setDealWith(String dealWith) {
        this.dealWith = dealWith;
    }

    @Basic
    @Column(name = "involved_crime", nullable = true, length = 45)
    public String getInvolvedCrime() {
        return involvedCrime;
    }

    public void setInvolvedCrime(String involvedCrime) {
        this.involvedCrime = involvedCrime;
    }

    @Basic
    @Column(name = "hex_number", nullable = true, length = 45)
    public String getHexNumber() {
        return hexNumber;
    }

    public void setHexNumber(String hexNumber) {
        this.hexNumber = hexNumber;
    }

}
